client^2 | the network address of the server | consistent guidelines that make the program easy to read | itself so it is able to communicate with the server | the same computer as its server or on a different computer | a server at the same time | many servers to perform different functions | - Waiting for interactions with the end-user, and responding when interactions occur
- Waiting for messages coming from the server, and responding when messages arrive
| program | 3.4 - The Client-Server Architecture | messages to the server to request services | a connection to a server | a server unless the server is listening | cleanly including includes disconnecting from a server if it is still connected | messages coming from the server | programmer | A program or process that connects to another program or process, using a communication channel, in order to request a service | to connect to the server if the server does not initially respond | the disconnection of the server, because the server crashed or the network failed or because either the client or server requested disconnection | client^2 |